<template>
    <el-menu
      active-text-color="#ffd04b"
      background-color="#545c64"
      class="el-menu-vertical-demo"
      default-active="2"
      text-color="#fff"
      :collapse="$store.state.homeview.navBool"
      @open="handleOpen"
      @close="handleClose"
      router
        >
        <!-- 循环路由数据 判断是否有二级菜单 -->
      <template v-for="v in router.options.routes[2].children" :key="v.path">
        <el-sub-menu :index="v.path" v-if="v.children">       
          <template #title >
            <el-icon><location /></el-icon>
            <!-- 展示数据 -->
            <span>{{ v.meta.title }}</span>
          </template>
          <!-- 循环二级菜单 -->
          <el-menu-item-group v-for="val in v.children" :key="val.path">
            <el-menu-item :index="val.path">{{ val.meta.title }}</el-menu-item>
          </el-menu-item-group>
        </el-sub-menu>
        <!-- 没有下拉的列表 -->
        <el-menu-item :index="v.path" v-else>
          <el-icon><setting /></el-icon>
          <!-- 展示数据 -->
          <span>{{ v.meta.title }}</span>
        </el-menu-item>
      </template>
      
    </el-menu>
 </template>
 <script lang="ts" setup>
    import { useStore } from "vuex";
    import { Document,Menu as IconMenu,Location,Setting,} from '@element-plus/icons-vue'
    import { onMounted } from "vue";
    import { useRouter } from "vue-router";

    const store = useStore()
    const router = useRouter()
    onMounted(() => {
      console.log(router.options.routes);
    })
    const handleOpen = (key: string, keyPath: string[]) => {
        console.log(key, keyPath)
    }
    const handleClose = (key: string, keyPath: string[]) => {
        console.log(key, keyPath)
    }
 </script>